//
//  HHPTableViewSectionModel.h
//  HHPTableViewManager
//
//  Created by 韩红坡 on 2017/3/8.
//  Copyright © 2017年 韩红坡. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

@class HHPTableViewHeaderFooterModel;

@protocol HHPTableViewHeaderFooterViewProtocol <NSObject>

@optional

/**
 从数据模型更新视图内容
 
 @param viewModel 数据模型
 */
- (void)setViewModel:(HHPTableViewHeaderFooterModel *)viewModel;

@end

@interface HHPTableViewSectionModel : NSObject

@property (nonatomic, weak, readonly) UITableView *tableView; // 所属的table view
@property (nonatomic, strong) HHPTableViewHeaderFooterModel *headerViewModel; // header数据模型
@property (nonatomic, strong) HHPTableViewHeaderFooterModel *footerViewModel; // footer数据模型
@property (nonatomic, assign) CGFloat headerHeight; // 只提供固定的间隔，仅header==nil时有效
@property (nonatomic, assign) CGFloat footerHeight; // 只提供固定的间隔，仅footer==nil时有效

@end

@interface HHPTableViewHeaderFooterModel : NSObject

/**
 视图的类型
 
 @return 视图的类型
 */
- (Class)headerFooterViewClass;

/**
 视图的高度
 
 @return 视图的高度
 */
- (CGFloat)headerFooterViewHeight;

@end
